In a NAND flash memory, it is necessary, at the start time of a program operation, to charge all the bit lines and, at the start time of a verify operation too, it is necessary to charge all the bit lines, and determine currents flowing through all the bit lines. Accordingly, a very large current becomes necessary, and a large peak current occurs temporarily.
Furthermore, the NAND flash memory increases the storage capacity, and hence the NAND flash memory is used in many cases as a multichip package (MCP) in which a plurality of, for example, two to four chips are packaged at once or a memory card in which a plurality of chips are packaged. As described above, when a plurality of chips are packaged, if peak currents of the chips overlap each other, a further larger peak current occurs, and there is the possibility of a problem such as power discontinuity or the like that lowers the reliability occurring.